package modelo.dal.fabricaDal;

import javax.swing.JOptionPane;
import modelo.dal.dataSourceDal.oracleDal.PlanGeneralOracleDao;
import modelo.dal.dataSourceDal.oracleDal.UsuarioOracleDao;
import modelo.dal.iDal.IPlanGeneralDao;
import modelo.dal.iDal.IUsuarioDao;

//antiguamente conocido como OracleDaoFactory
/**
 * Fábrica de objetos de acceso a datos(DAO) especiales para Oracle
 * @author Felipe Madariaga
 * @see IFabricaDao
 * @see PlanGeneralOracleDao
 * @see UsuarioOracleDao
 */
public class FabricaOracleDao implements IFabricaDao {

    /**
     * Constructor vacio
     */
    public FabricaOracleDao() {
    }

    /**
     * Obtiene un objeto de acceso a datos para planificaciones. Dependiendo del motor ingresado como parametro
     * @param motor Integer, el motor de acceso a datos.
     * Las Opciones son: ORACLE - para Oracle, MSACCESS - para Microsoft Access y MYSQL - para MySQL
     * @return IPlanGeneralDao
     * @see IFabricaDao
     */
    @Override
    public IPlanGeneralDao getIPlanGralDao (Integer motor) {
        switch(motor){
            case ORACLE:
                return new PlanGeneralOracleDao();
            default:
                return null;
        }
    }

    /**
     *
     * @param motor
     * @return
     */
    @Override
    public IUsuarioDao getIUsuarioDao(Integer motor) {
        switch(motor){
            case ORACLE:
                return new UsuarioOracleDao();
            default:
                return null;
        }
    }

}

